This invention relates to the selection of a region on a graphical user interface and, more particularly, relates to an improved method of showing a selection on a graphical user interface without interfering with the user""s view of the visual attributes of the contents within the selection.
Most modern computer software uses a graphical user interface (GUI) to display information to and receive commands from users. The GUI allows a user to view the contents of their documents on the computer display just as it would appear when printed out. This is technology is known as WYSIWYG, an acronym for xe2x80x9cWhat You See Is What You Get.xe2x80x9d A user typically interacts with the GUI through a pointing device (e.g., a mouse) to position a pointer or cursor over an object and xe2x80x9cclickingxe2x80x9d on the object. The user can also click and drag the pointing device to highlight, or select, sections of the display. Examples of operating systems that provide graphical user interfaces and WYSISYG technologies are WINDOWS 95 and WINDOWS 98, which are manufactured by the Microsoft Corporation of Redmond, Wash.
In a computer system using a GUI, the user who uses a mouse to make a selection can highlight a selection by positioning the cursor at the beginning of the section, pressing and holding down the mouse button, and dragging the cursor to the end of the selection. This selection technique is known as xe2x80x9cclick and drag.xe2x80x9d It should be noted that alternative methods, such as using the keyboard, selecting a command function, executing a macro routine or executing a Visual Basic routine, may also be used to highlight a selection. Once a region is selected in this manner, the user can change the visible attributes of the background and content items within the region using the menu items and other control features of the GUI. Click and drag techniques allow users to quickly select a block of text, an object, etc. and change the visual attributes associated with the selected region. The GUI highlights the selected region by changing the background base color with a background selection color. Typically, the GUI shows the background selection color in reverse video. Reverse video sets the background selection color to the complement of the background base color. Also, reverse video replaces the cell content colors with their complementary colors. For example, black text on a white background appears as white text on a black background.
A useful computer program module that implements the GUI and WYSIWYG technologies is Microsoft""s EXCEL 97 spreadsheet program. The display area associated with this program is divided into a plurality of cells defining rows and columns. Each cell may contain attributes unique from every other cell. Thus, each cell may have a unique fill or background base color and contain cell contents formatted differently from the contents of every other cell. To simultaneously change the attributes of multiple cells, the user typically selects a range of cells using the click and drag (or equivalent) technique. The selected range has two components: an active cell that is the current focus of the activity (typically, the cell containing the cursor) and non-active cells (typically the remaining cells in the selected range).
When users select two or more cells in a spreadsheet, the current convention displays the non-active cells in reverse video and leaves the active cell unchanged. Reverse video sets the background selection color to the complement of the background base color and replaces the cell content color with its complementary color. For example, if a cell contains a red text on a yellow background, reverse video results in turquoise (complement of red) text displayed on a blue background selection color (complement of yellow). As a result, the user cannot see the visual attributes of the cells in the selected region as they actually appear. Referring to the previous example, the font appears turquoise rather than red. This confuses users as to how the spreadsheet formatting actually appears. In particular, users may become confused when they attempt to manipulate the visual attributes of the content items in the selected range. Returning to the example, a user changing the red font to a green font would see magenta (complement of green) content items within the selected region. Only upon completion of the font change and deselection of the region would the content items appear green.
Thus, applying reverse video to a selected region confuses users as to the actual formatting of the selected region. In many instances, this leads to users deselecting and reselecting the same region repeatedly to confirm that their formatting tasks are successful. The confusion and constant selecting and deselecting of the same region leads to an inefficient use of time, user frustration and may cause errors associated with the user forgetting to reselect the region to make further changes.
Some computer program modules have attempted to solve these problems. For example, one selection technique applies reverse video only to the background and not to the cell contents. In this manner, the format of the cell contents is left unchanged, while the background is displayed in its complementary color. Another selection technique allows the user to select the background selection color for the non-active cells. For example, if the user chooses blue as the background selection color, red text initially displayed on a yellow background will appear as red text on a blue background after the user selects the region.
However, both of these methods have shortcomings. Specifically, if the cell contents are the same color as the background selection color, the user cannot see the content items in the selected region. This is because in both methods, the GUI paints the background selection color (either the reverse video color or the selected color) over the background base color.
Thus, there is a need in the art for a more efficient method for indicating a selected region of a computer display using a graphical user interface. There is a further need in the art for a method for indicating a selected region on a computer display without interfering with the user""s view of the visual attributes within the selection.
The present invention meets the above-described needs by providing a utility for indicating a selected region on a computer GUI while allowing the user to see the formatting through the selection indicator. This utility, which is referred to as xe2x80x9cSee Through View,xe2x80x9d blends the background base color with a selection shading color to create the background selection color. In addition, the content items are not blended. This allows the user to select a region on the display device and still see the formatting of the background and the content items similar to the way they will appear when the region is deselected.
In other words, when the user selects a region on the display device, the invention xe2x80x9cshadesxe2x80x9d the background of the non-active cells of the selected region and leaves the cell content items unchanged. The shading is accomplished by combining the background base color with a selection shading color to produce a blended color. For example, the selection shading color may be a Windows system color used as a standard selection color to indicate selection in all Windows programs.
When a user selects a region, the blended color becomes the background selection color, which replaces the original background base color. The effect is that the background of the non-active cells appears shaded or darkened. For example, if the selection shading color is set to blue and a user selects a region of the display screen with a red background base color, the background selection color will appear red with blue shading, as opposed to turquoise (i.e., in reverse video), but still appears selected due to the blue shading. Because the cell contents remain unchanged, the user can see the visual attributes of the cell contents, as they would actually appear. This selection technique also allows the user to see any background items, which appear shaded yet still visible.
Generally described, the See Through View utility provides a user the ability to highlight a selected region on a computer display device and still see the formatting of the contents as it will appear after the region is deselected. The user first selects a region within the computer display using an input device (e.g., a mouse). For example, the user places the cursor in the first cell of the region to be selected and presses and holds the mouse button. The user then drags the cursor, while keeping the mouse button depressed, to the last cell in the region to be selected (the user could select the region using alternative methods, such as the keyboard).
Next, the See Through View utility determines whether the region contains only a single cell or multiple cells. If the region only contains a single cell, the background and cell contents are left unchanged. If the selected region contains multiple cells, the region is divided into an active cell and non-active cells. The active cell is the cell that contains the cursor and has the focus of the current activity. The attributes of the cell contents of the selected region (both the active cell and the non-active cells) are left unchanged. The background color of the active cell remains unchanged, and the background colors of the non-active cells are blended with the background selection color.
The present invention may determine the color of the background base color in each non-active cell independently. Specifically, each background base color is combined with a selection shading color to produce a blended color. First, the See Through View utility determines the red, green and blue (RGB) values of the background base color and the selection shading color. The See Through View technique reduces the RGB values of the background base color to 65% of their original value and the RGB values of the selection shading color to 35% of the original values. These values for each color are then combined to produce the blended color.
Next, because the blended color may be similar to the original background color, the See Through View utility compares the colors by comparing the luminance of the blended color with the luminance of the background base color. If the RGB values of the two colors are similar, the utility further alters the blended color to produce an adjusted blended color. Specifically, the utility determines whether the blended color is a dark color. If the blended color is a dark color, the utility lightens the blended color to obtain the adjusted blended color. If the blended color is a light color, the utility darkens the color to obtain the adjusted blended color.
The blended color, or the adjusted blended color (if an adjustment is necessary), replaces the background base color of the non-active cells within the selected region and the content items remain unchanged. As a result, the background of the non-active cells appear as if they were shaded. This allows the visual attributes of the cell contents, such as text color, to remain apparent to the user.
If a background element (e.g., watermark, picture, clip art, etc.) appears in the selected region, the present invention combines the selection shading color with each color of the background element, in the same manner described above, to produce the blended color (or an adjusted blended color, if an adjustment is necessary). That is, the invention replaces each color of the background element with the blended color (or the adjusted blended color). This allows the user to see the background element through the selection.
The attributes of the cell contents in the non-active cells remain unchanged so that the user can see their formatting, as they will appear when the region is deselected. If the user changes the formatting of the visual attributes of the cell items, the changes will be seen immediately, as they would normally appear on the computer display, and not in reverse video.
That the invention improves over the drawbacks of prior methods for indicating a selected area on a computer display device and accomplishes the advantages described above will become apparent from the following detailed description of the embodiments of the invention and the appended drawings and claims.